Dynamic range is defined as the ratio of the brightest to the darkest intensity level that can be represented by a medium, device or format. Traditionally, camera film is able to capture a higher range of intensity than can be reproduced in print and on traditional displays. Advances in sensor technology have lead to imaging devices that have a higher dynamic range than that of output devices such as printers or displays.
High dynamic range compression refers to a technique of reducing the dynamic range of an image to make it more appropriate to be displayed on a certain output device. An objective when performing high dynamic range compression is to balance the bright and dark areas of the image so as to improve the contrast and maintain the detail of the original image. Current methods for high dynamic range compression can be classified broadly as global or local methods. Global methods apply a certain compression curve to all the pixels within the image, regardless of their spatial position in the image. Local methods apply different transformations to pixels in different positions within the image. Global methods have the advantage of being fast but less flexible, and may not provide appropriate detail preservation. Local methods are more flexible and can achieve a greater dynamic range compression at the expense of higher computation time and possibly image artifacts.
During the high dynamic range compression process, certain areas of the image are brightened, while other areas may be slightly darkened. Generally, lightening an area comes at the expense of increasing visible noise in the image.
An image histogram defines a pixel distribution in terms of light intensity of each pixel. In other words, for a range of intensities, the histogram represents a count of the number of pixels in the image whose intensity falls within the specified range. Histogram equalization is a technique widely used in image processing for increasing local contrast in an image. Through this adjustment, the intensities are better distributed on the histogram. This allows for areas of lower local contrast to gain a higher contrast without affecting the global contrast of the image.
A cumulative histogram is computed from a corresponding histogram by cumulatively adding the pixel distributions for each intensity. For example, at a given intensity, the corresponding pixel distribution on the cumulative histogram curve is the total of all pixels with an intensity equal to or less than the given intensity. In this manner, the cumulative histogram curve is a monotonically increasing function, that is the total pixel count increases with increasing intensity.
The cumulative histogram is the global function that corresponds to performing histogram equalization. In general, a cumulative histogram plots input pixel intensity values on the x-axis versus output pixel intensity values on the y-axis. The cumulative histogram provides a transformation of each pixel from the input pixel intensity value to the output pixel intensity value. The cumulative histogram as an input-output function is applied to each pixel in the image, thereby equalizing the distribution of pixels by intensity within the image. This generates a new image with a more uniformly distributed range of intensities. Histogram equalization provides a method of balancing contrast within an image. However, using the histogram equalization technique as-is for the purpose of high dynamic range compression suffers from at least two significant drawbacks. First, for most natural images, performing a histogram equalization results in an image having excessive contrast and an unnatural appearance. Second, using the cumulative histogram as a global function for high dynamic range compression implies applying the same fiction to all pixels within the image and therefore does not always provide appropriate detail preservation.
The first drawback has been addressed by G. W. Larson, H. Rusmeier and C. Piatko in the paper titled “A Visibility Matching Tone Reproduction Operator for High Dynamic Range Scenes.” In this paper, the authors first propose using a modified cumulative histogram as a global compression function for the purpose of high dynamic range compression. The modification consists of limiting the slope of the cumulative histogram curve in order to prevent issues of excessive contrast.